1. Technical Field
The invention relates to a storage device and memory accessing method, and more particularly, to a storage device with connectability to at least two hosts at the same time and memory accessing method for accessing memory units in the storage device by the hosts.
2. Description of the Conventional Art
Most portable devices such as USB flash drives, portable media players, mobile phones with built-in storage, etc., are able to connect to more than one device/host through corresponding interface. For example, a portable device may have the capability of transmitting files through wireless connection and also connectable to a computer through a USB connector. Although a number of interfaces may be provided in the portable device for connection with other devices, it is a basic limitation that one channel at a time is workable for the portable device, e.g., for a mobile phone with wireless connection turned on and ready for one host and also with physical connection to another host through USB interface, it can be expected that only one channel, either the wireless connection or the physical connection, will be workable for the mobile phone when both connections are active.
Generally, the controller of a portable device, say, a mass storage device, does not take data flow to and from the memory unit of the portable device with the concept of “files” but simply do the reading/writing of the memory unit as commanded. It also lacks of communication and coordination between any built-in OS, such as the linux system, the android system, or the iOS system in the mobile phones, and other OS as in a computer. This is why the rest of the interfaces of a portable device will be shutdown when the portable device is being connected to a computer/host through the USB connector (or through wireless connection). Hence, any portable device or storage device equipped with more than one way to have connection and data exchange with more than one host should only be able build a data accessing channel with one host at a time, which is quite an inconvenience.
Although a third-party application may be developed and installed in one of the hosts that functions as a coordinator among the hosts that are in need of using the channels of the portable device, it takes extra effort to build and install such application in the host, not to mention such application is strongly system dependent.